Dynamic range compression is a process for mitigating the impact of nonlinear echoes on acoustic echo cancellation. In some situations, an acoustic echo canceller is needed whenever the coupling between a loudspeaker and a microphone is not sufficiently low. Without attenuating the far-end signal, which is rendered by the loudspeaker at the near-end, the signal would be picked up by the microphone at the near-end and sent back to the far-end where it is perceived as an echo due to the latency of the transmission. In conventional systems, some attenuation of the echo can be achieved by a linear adaptive filter which tries to model the acoustic room impulse response from the loudspeaker to the microphone. This may cause problems if the system from the loudspeaker to the microphone is not accurately modeled as being linear. For the microphone, linearity may be a valid assumption, but for the loudspeaker this assumption is often invalid. In reality many devices such as laptops, cell phones, low-priced speakerphones, etc. have poor loudspeakers due to limited transducer size or cost constraints. Another problem is that devices often also contain parts that may rattle and vibrate at high volume settings. Both of these problems can lead to non-linear echo components which cannot be attenuated by a conventional acoustic echo canceller. In addition, those non-linearities can also lead to a deterioration of the audio signal quality perceived by the user at the near-end. Thus, a solution is needed that can reduce the amount of non-linear echo components that remain after the acoustic echo canceller and which will be transmitted back to the far-end and that can reduce the amount of the distortion perceived at the near-end due to poor loudspeaker quality and rattling/vibrating parts in the device